Method and apparatus of analyzing social network data to identify a financial market trend

ABSTRACT

In general, the present disclosure includes a system, method and architecture for use in analyzing content of a social network data to identify a financial market trend, e.g., a trend associated with a financial market instrument.

FIELD OF THE DISCLOSURE

The present application relates to analyzing social data, such aswithout limitation tweets, comment streams, user comments, etc., toidentify a financial market trend, and more particularly to analyzingsocial data to identify a social data trend for purposes of analyzing afinancial market trend, a trend associated with a trade, investment,and/or exchange, such as may occur in connection with a stock, bond,commodity, currency, derivative, index or other instrument, e.g.,financial market instrument, of value.

BACKGROUND

Financial investors can use trends, e.g., trading trends, to identifyinvestment opportunities, or lack thereof. For example, an investormight elect to invest, e.g., in a stock, mutual fund, bond, index, etc.,if the investor believes that the item's price is about to, or hasbegun, trending upward; and conversely, the investor might elect to sellthe item if the item is about to, or has begun, trending downward. Someconventional approaches use current and historic objective information,e.g., volume of trades, price, price volatility, etc., to makepredictions.

SUMMARY

The present disclosure seeks to address failings in the art and toprovide a method and apparatus of analyzing social network data toidentify a financial market trend, e.g., a trend associated with afinancial market instrument, which information can be used, for example,to decide whether to trade a financial market instrument. By way of somenon-limiting examples, a trend might be associated with a trade,investment, and/or exchange, such as may occur in connection with astock, bond, commodity, currency, derivative, index or other instrument,e.g., financial market instrument, of value. In accordance with one ormore embodiments, a textual analyzer can be used to determine sentimentof a message, e.g., bullish, bearish or neutral sentiment for thefinancial market instrument.

In accordance with at least one aspect, a method is provided, the methodcomprising determining, via at least one computing device and for afinancial market instrument, a number of messages of a plurality ofmessages occurring during a time span and containing a reference to thefinancial market instrument, the plurality of messages includingmessages from at least one social networking service; determining, viathe at least one computing device and for the financial marketinstrument, a time span average, the time span average being a ratio ofthe determined number of messages occurring during the time span andcontaining the financial market instrument reference over a number oftime intervals into which the time span is divided; determining, via theat least one computing device and for the financial market instrument, amessage count for a selected time interval of the time intervals, theselected time interval's message count indicating a number of themessages from the plurality of messages occurring during the selectedtime interval and containing the reference to the financial marketinstrument; determining, via the at least one computing device and forthe financial market instrument, a percentage change using the selectedtime interval's message count and the time span average; comparing, viathe at least one computing device, a plurality of percentage changescorresponding to a plurality of financial market instruments includingthe financial market instrument, the comparing selecting a set offinancial market instruments, each of the selected financial marketinstruments having a greater percentage change than unselected ones ofthe plurality of financial market instruments; and causing, via the atleast one computing device, the financial market instrument reference ofeach of the selected financial market instruments to be available forpresentation to one or more users.

In yet another aspect, a system is provided, which comprises at leastone computing device comprising one or more processors to execute andmemory to store instructions to determine, for a financial marketinstrument, a number of messages of a plurality of messages occurringduring a time span and containing a reference to the financial marketinstrument, the plurality of messages including messages from at leastone social networking service; determine, for the financial marketinstrument, a time span average, the time span average being a ratio ofthe determined number of messages occurring during the time span andcontaining the financial market instrument reference over a number oftime intervals into which the time span is divided; determine, for thefinancial market instrument, a message count for a selected timeinterval of the time intervals, the selected time interval's messagecount indicating a number of the messages from the plurality of messagesoccurring during the selected time interval and containing the referenceto the financial market instrument; determine, for the financial marketinstrument, a percentage change using the selected time interval'smessage count and the time span average; compare a plurality ofpercentage changes corresponding to a plurality of financial marketinstruments including the financial market instrument, the comparingselecting a set of financial market instruments, each of the selectedfinancial market instruments having a greater percentage change thanunselected ones of the plurality of financial market instruments; andcause the financial market instrument reference of each of the selectedfinancial market instruments to be available for presentation to one ormore users.

In a further aspect, a computer readable non-transitory storage mediumis provided, the medium tangibly storing thereon computer readableinstructions that when executed cause at least one processor todetermine, for a financial market instrument, a number of messages of aplurality of messages occurring during a time span and containing areference to the financial market instrument, the plurality of messagesincluding messages from at least one social networking service;determine, for the financial market instrument, a time span average, thetime span average being a ratio of the determined number of messagesoccurring during the time span and containing the financial marketinstrument reference over a number of time intervals into which the timespan is divided; determine, for the financial market instrument, amessage count for a selected time interval of the time intervals, theselected time interval's message count indicating a number of themessages from the plurality of messages occurring during the selectedtime interval and containing the reference to the financial marketinstrument; determine, for the financial market instrument, a percentagechange using the selected time interval's message count and the timespan average; compare a plurality of percentage changes corresponding toa plurality of financial market instruments including the financialmarket instrument, the comparing selecting a set of financial marketinstruments, each of the selected financial market instruments having agreater percentage change than unselected ones of the plurality offinancial market instruments; and cause the financial market instrumentreference of each of the selected financial market instruments to beavailable for presentation to one or more users.

In accordance with one or more embodiments, a system is provided thatcomprises one or more computing devices configured to providefunctionality in accordance with such embodiments. In accordance withone or more embodiments, functionality is embodied in steps of a methodperformed by at least one computing device. In accordance with one ormore embodiments, program code to implement functionality in accordancewith one or more such embodiments is embodied in, by and/or on acomputer-readable medium.

DRAWINGS

The above-mentioned features and objects of the present disclosure willbecome more apparent with reference to the following description takenin conjunction with the accompanying drawings wherein like referencenumerals denote like elements and in which:

FIG. 1 provides an example of a graphical user interface used inpresenting a set of stock ticker symbols in accordance with one or moreembodiments of the present disclosure.

FIG. 2 illustrates components of an exemplary system in accordance withone or more embodiments of the present disclosure.

FIG. 3 provides an example of pseudo code in accordance with one or moreembodiments of the present disclosure.

FIG. 4, which comprises FIGS. 4A-4C, provides an example process flow inaccordance with one or more embodiments.

FIG. 5 illustrates some components that can be used in connection withone or more embodiments of the present disclosure.

FIG. 6 is a detailed block diagram illustrating an internal architectureof a computing device in accordance with one or more embodiments of thepresent disclosure.

DETAILED DESCRIPTION

In general, the present disclosure includes a system, method andarchitecture, and includes a method and apparatus of analyzing socialnetwork data to identify a financial market trend, e.g., a trendassociated with a financial market instrument. By way of onenon-limiting example, a trend identified in accordance with one or moreembodiments disclosed herein might be used to decide whether to trade afinancial market instrument.

Certain embodiments of the present disclosure will now be discussed withreference to the aforementioned figures, wherein like reference numeralsrefer to like components.

In accordance with one or more embodiments, the social network datacomprises messages, which are also referred to herein as comments, suchas without limitation messages, posted to a social networking servicesuch as Twitter®, Facebook®, Myspace®, a blogging and/or microbloggingservice, and may include messages that are published or otherwise madepublic from an instant messaging service, text messaging service,electronic mail service, etc. The messages may also include messagesgenerated by a service that monitors financial market transactions,e.g., the service might generate a message when an officer of a companysells, or buys, some shares in the company. By way of anothernon-limiting example, the messages might include messages posted by aservice that tracks trades made by users registered with a service, asocial networking service, or trades identified by the service that aremade by other entities; the social networking service posting a messagecontaining information about each trade including a reference, e.g., aticker symbol, for the financial institution involved in the trade. Oneexample of such a service is provided by Covestor LLC.

Content of each of a plurality of messages occurring during, within, orin a time window, or time span, is analyzed to determine whether or notthe message contains a reference to a financial market instrument, whichreference is also referred to herein as a financial market instrumentreference, financial market reference, instrument reference, orreference. For sake of simplicity, the reference primarily used hereinis a ticker symbol, which is just one example of a financial marketreference, and the financial market instrument primarily used herein isstock, which is just one example of a financial market instrument. Itshould be apparent that embodiments described herein apply equally toany type of financial market instrument reference and/or financialmarket instrument.

Using stocks and ticker symbols as an example and without limitation,for each of a plurality of stocks' ticker symbols, messages occurringduring a selected window, or span, of time are analyzed to identify anumber of the messages occurring during the time span and containing astock's ticker symbol. Each message has associated temporal data, e.g.,a date and time. The temporal data can be indicative of a time when theassociated message is generated, received, etc., for example. For eachticker symbol identifying a stock, a time span average is determinedusing the number of messages occurring during the time span andcontaining the ticker symbol and a number of time intervals into whichthe time span is divided. One of the time intervals is selected, e.g.,the most recent time interval in the time span. By way of onenon-limiting example, the time span might be one week, e.g., the priorweek including the current day, and the selected time interval might bethe last hour of the current day in the time span. It should be apparentthat any time span, number of time intervals and selected time intervalcan be configurable.

For the selected time interval, e.g., the most recent time interval inthe time span, the messages occurring during the selected time intervalare analyzed to identify the number of messages occurring during theselected time interval and containing a stock's ticker symbol. For eachstock's ticker symbol identified in the messages, a percentage change isdetermined for the selected time interval and the stock's ticker symbolas a ratio of the number of the messages occurring during the selectedtime interval and containing the stock's ticker symbol over the timespan average.

A number, n, of the stocks can be selected for presentation to usersbased on a comparison of the percentage change values determined for thestocks in accordance with one or more embodiments. By way of anon-limiting example, the percentage change is a percentage increase,which reflects an uptick, or upward trend, in attention to the stock asdetermined by analyzing the messages, including social networkingservice messages. In accordance with one or more embodiments, thefinancial market instrument reference, e.g., ticker symbol, associatedwith each of the n selected financial market instruments is saved, andcan be selected for presentation to users. In a case that the percentagechange is a percentage increase, the financial market reference for eachof the n financial market instruments having the greatest percentageincrease relative to the percentage increases associated with the otherfinancial market instruments are presented to the user. By way of anon-limiting example, the ticker symbols associated with the top nstocks, e.g., the n stocks with the greatest percentages increaserelative to the other stocks that were considered, are presented. Itshould be apparent that embodiments of the present disclosure are notlimited to a percentage increase; and that a percentage decrease or nochange can be used as selection criteria.

In accordance with at least one embodiment, selection of a financialmarket instrument reference is based on a percentage change, e.g.,percentage change in volume or acceleration, rather than message volume.To illustrate, assume that a first financial market instrument, onaverage, is referenced in 100 messages per hour over the past week and110 messages in the last hour, and a second financial market instrument,on average, is referenced in 5 messages per hour over the past week and50 messages in the last hour. Using either the average volume, or theraw message count for the last hour, as the selection criteria, thefirst financial market instrument is selected over the second. Apercentage increase as determined using embodiments of the presentinvention show a much greater increase in volume for the secondfinancial market instrument, i.e., 900% increase in volume in the lasthour over the average volume per hour, relative to the 10% percentincrease in volume for the first financial market instrument. Bycomparison, the second financial market instrument's percentage increaseindicates that the second financial market instrument signifies agreater acceleration and is more trending in the last hour than thefirst, even though the volume of messages for the second financialmarket instrument is less than the first. In accordance with one or moreembodiments, a trend, or change such as is determined by a percentagechange metric, can be identified for a financial market instrumentrelative to the instrument's own message volume, and the instrument'strend is compared with trends of other instruments to identify a set ofinstruments for presentation.

FIG. 1 provides an example of a graphical user interface (GUI) used inpresenting a set of stock ticker symbols in accordance with one or moreembodiments of the present disclosure. GUI 102 includes a listing 104identifying ten of the financial market instrument references, tickersymbols determined in accordance with at least one embodiment of thepresent disclosure. In the example shown in FIG. 1, the listing includesthe financial market entities, e.g., companies, associated with theticker symbols. It should be apparent that the listing can contain feweror more references than that shown in listing 104. In the example shownin FIG. 1, listing 104 is a portion 110 of GUI 102. GUI 102 includes atleast one other portion, portion 112, which includes a listing 106 ofmessages, e.g., sorted based on time. While only four messages are shownin the example, it should be apparent that GUI 102 can includeadditional messages, and that the user can use the scrollingcapabilities of GUI 102 to view additional messages. While not shown inFIG. 1, GUI 102 can include an option selectable by the user to obtainadditional messages and/or trending tickers for presentation in GUI 102.

In the example of FIG. 1, the messages shown in listing 106 includesmessages containing a specific ticker symbol, YHOO. It should beapparent that listing 106 could include messages containing one or moreother ticker symbols. By way of one non-limiting example, field 108 canbe used by a user to display messages containing one or more tickersymbols input using field 108. In response, listing 106 can be updatedto include messages, each of which contains at least one of the one ormore ticker symbols specified by the user. To illustrate further andwithout limitation, each ticker symbol in listing 104 might beselectable by the user to view messages, as displayed in listing 106,which contain the ticker symbol selected from listing 104.Alternatively, a ticker symbol in listing 104 might be used to displayadditional information about the associated financial market entity,e.g., in a portion of the same or a different web page. In the example,each ticker symbol contained in a message is a hyperlink, which might beused to display messages containing the ticker symbol in listing 106and/or to view additional information about the financial market entity,e.g., company, associated with the ticker symbol. GUI 102 can includeadditional links, or hyperlinks, e.g., a hyperlink to content and/or aweb page. A hyperlink can be included in a message contained in listing106, and/or in an entry contained in listing 104, for example.

In the example shown in FIG. 1, each message includes a hyperlink at thebeginning of the message. By way of a non-limiting example, in a socialnetworking message, the hyperlink might be used by the user viewing GUI102 to navigate to a web page served by one of the social networkingservice providers, e.g., a social networking service provider thatprovided the message; the web page might contain information associatedwith the user that posted the message with the service provider, andmight further allow the user of GUI 102 to connect with the messageoriginating user, e.g., view information about the message originatinguser and/or follow the message originating user. By way of anothernon-limiting example, in a case that the message is generated by theservice providing the message, the hyperlink might be used to display aweb page containing information about the service, e.g., a financialnews service, which provided the message.

Each message shown in the example includes temporal information, e.g.,information indicating a time and in some cases a date, e.g., in a casethat the message occurred before the current day/date. In the example,the temporal information is shown below the message. Additionally, inthe example, the source, or service provider, of the message isindicated, e.g., the icon shown to the left of the temporal information.

In accordance with one or more embodiments, listing 104 is updated on aperiod basis, e.g., every ten minutes, every hour, etc. The time periodis configurable, and may be based on the volume of messages beingreceived, volatility of one or more financial markets, etc.

FIG. 2 illustrates components of an exemplary system in accordance withone or more embodiments of the present disclosure. In accordance withone or more such embodiments, one or more data providers 202, e.g.,social networking service, news service, etc., provide messagescontaining financial market instrument references to receiver 204. Inaccordance with one or more embodiments, each message that is receivedhas associated temporal information, e.g., a time stamp, which can beprovided by the data provider 202 or generated by receiver 204. The timestamp might indicate a time that the message is posted by a user orserver, and/or the time that the message is received by receiver 204. Asdiscussed above, each message can include, or have associated therewith,information to identify the service provider 202, the user generatingthe message, and one or more financial market instrument references.

The received data is stored in data store 206 and is used by analyzer208 to identify a set of financial market instrument references. The setof references identified by analyzer 208 can be stored in data store206, and retrieved by server 210 for inclusion in a web page, e.g., GUI102, that is served to user device 212 for presentation to a user ofdevice 212.

Each of data provider 202, receiver 204, analyzer 208, server 210 anduser device 212 comprises at least one computing device. As is describedin more detail below, a computing device can comprise one or moreprocessing units. Data store 206 includes memory to store data and maycomprise a computing device. Data store 206 can comprise more than onedata store, and may be integrated into one or more of the othercomponents shown in FIG. 2. Additionally and while the components areshown separately, it should be apparent that one or more of thecomponents shown in FIG. 2 can be combined to form one component.

FIG. 3 provides an example of pseudo code for use in accordance with oneor more embodiments of the present disclosure. The pseudo code providedin FIG. 3 can be used by analyzer 208 to generate the set of financialmarket instrument references, for example.

In the example shown in FIG. 3, “[ ]” brackets are used to indicate aconfigurable value, and “< >” brackets are indicative of a value in aloop. A loop begins at step 1 and includes steps 2 through 5, which arerepeated for each financial market instrument reference found inmessages provided by data providers 202. In the example, a financialmarket instrument reference is referred to as a “ticker”. The loop isperformed for each ticker received in the last hour. The time span ofthe last hour is configurable.

Step 2, which includes steps 2 a-2 d, is optional and can be used tofilter messages. Step 2 a, for example, can be used to filter out aticker symbol if the number of messages, or comments, containing theticker symbol is less than the configurable threshold number ofmessages, e.g., three messages. Another optional filter is shown in step2 b, which filters out messages that contain a ticker symbol associatedwith an instrument, e.g., a stock, which has an average trading volumebelow a configurable threshold, e.g., one million in the pseudo codeexample. Step 2 c optionally filters out the messages received from adata provider 202 if the number of messages from the data provider 202in a configurable time interval, e.g., last hour, exceeds a configurablethreshold number, e.g., 80%, of the comments received in theconfigurable time span. Step 2 d optionally filters out messagesreceived from a user if the number of messages from the user in aconfigurable time interval, e.g., last hour, exceeds a configurablethreshold number, e.g., 80%, of the comments received in theconfigurable time span.

At step 3, an average number of messages received is determined. By wayof one non-limiting example, the average is determined to be the numberof messages received in a configurable time span, e.g., one week,divided by the number of time intervals in the time span, e.g., the timeinterval in the pseudo code example is configurable and is set to onehour. Step 3 a provides one example in which the average for the YHOOticker symbol is determined to be 10, e.g., 1680 messages÷(24*7 hours inone week)=10.

At step 4, a percentage change, e.g., a percentage increase, isdetermined using the average determined in step 3 and a number of themessages occurring during the last interval, e.g., last hour, of thetime span, e.g., one week. In the example shown in step 4 a, the percentincrease is determined by dividing the result of subtracting the timespan average determined in step 3 from the number of messages occurringduring the last hour by the time span average, and multiplying thatresult by 100. At step 5, the percent increase is stored together withthe ticker symbol.

In the example pseudo code in FIG. 3, the loop is executed hourly forthe messages that occur, e.g., are received, during the last hour. Step5 can also save the count of messages occurring during the last hour andcontaining a given ticker symbol, and the number, or count, of messagesoccurring during the last week and containing the ticker symbol can bedetermined by aggregating the count determined for the last hour and thecounts determined for each hour before that, since each of thedetermined is stored in step 5.

With reference to step 6 of the sample pseudo code, the ticker symbolsare sorted in descending order by their respective percentage increases.A number, e.g., ten, of the top, e.g., first, ticker symbols in thesorted ticker symbols are selected for presentation at step 7. Each ofthe ticker symbols selected in step 7 has a percentage increase that isgreater than the percentage increase of all of the unselected tickersymbols. At step 8, in a case that the selected number of ticker symbolsdoes not meet the desired number of ticker symbols, ticker symbolsselected in a previous execution of the pseudo code, e.g., the hour justprior to the last hour, can be selected for inclusion in the set ofticker symbols, e.g., below the ticker symbols selected in the currentexecution of the pseudo code, and the set of ticker symbols as selectedin step 7, and possibly in step 8 as well, can be stored, e.g., in datastore 206.

FIG. 4, which comprises FIGS. 4A-4C, provides an example process flow inaccordance with one or more embodiments. With reference to FIG. 4A, theprocess flow, which can be executed by analyzer 208, analyzes messagesreceived from one or more data providers 202 to count the messages thatinclude a financial market instrument reference, such as a tickersymbol. At step 402, a determination is made whether or not to processincoming messages, e.g., messages received from data providers 202. Byway of a non-limiting example, the process flow shown in FIG. 4A can beexecuted periodically, e.g., every ten minutes, every hour, etc., andthe period can be configurable. The process flow shown in FIG. 4A can beexecuted on the messages received since the last time the process flowwas executed, for example. If it is determined that it is time toprocess received messages, processing continues at step 404, whichdetermines whether or not there are any remaining messages to beprocessed. If so, processing continues at step 406 to select the nextmessage to be processed.

At step 408, a determination is made whether or not the message includesa financial market instrument reference or references, e.g., tickersymbol(s). By way of one non-limiting example, the message can be parsedto determine whether or not the message contains a reference. If not,processing continues at step 404 to process any remaining messages. Ifthe message includes one or more financial market instrument references,processing continues at step 410 to increment the time span count foreach financial market instrument reference contained in the currentmessage, and processing continues at step 412. A determination is made,at step 412, whether the message occurred during the selected timeinterval, e.g., the last hour. If not, processing continues at step 404to process any remaining messages. If so, processing continues at step414 to increment the time interval's count for each reference containedin the current message. Processing continues at step 404 to process anyremaining messages.

If it is determined, at step 404, that the all of the messages to beprocessed in this process flow execution, or run, have been processed,processing continues at step 416 of FIG. 4B. The process flow shown inFIG. 4B can be performed by analyzer 208, for example. The steps of theprocess flow can include some or all of the steps of the loop shown inFIG. 3, for example. At step 416, a determination is made whether or notany references remain to be processed. If so, processing continues atstep 418 to select the next reference. At step 420, a time span averageis determined for the selected reference and the current time span,e.g., past week as discussed herein in connection with step 3 a of FIG.3. At step 422, a percentage change, e.g., percentage increase, isdetermined, e.g., such as in step 4 a of FIG. 3 discussed herein.Processing continues at step 416 to determine whether any referencesremain to be processed.

If not, processing continues at step 424 of FIG. 4C. The process stepsshown in FIG. 4c can include some or all of steps 6 through 9 of FIG. 3and be performed by analyzer 208, for example. At step 424, thereferences are sorted in descending order based on the references'percentage change. At step 426, a number, “n”, of the top references areselected for the current set of references, e.g., a set of trendingreferences. In some cases, the sorted references may not include “n”references, such that the number of the top references selected may beless than “n”. At step 428, a determination is made whether or not “n”references were selected in step 426. If not, processing continues atstep 430 to add a number, “m”, of the top references selected from aprevious set of references to the current set of references. By way of anon-limiting example, “m” is equal to “n−x”, where “x” is the number ofreferences selected in step 426. Processing continues at step 432 tostore the current set of references.

In accordance with one or more embodiments, a textual analyzer can beapplied to the messages received by receiver 204 and/or analyzed byanalyzer 208. In accordance with one or more such embodiments, thetextual analyzer can be used to determine a sentiment of one or more ofthe received messages. By way of one non-limiting example, the sentimentanalyzer can be a component of analyzer 208, and can used to identify abullish, bearish or neutral sentiment associated with one or morefinancial market instruments and corresponding references from messagesreceived by receiver 204.

The sentiment analyzer can be trained to predict sentiment, e.g.,expressed or implied sentiment, in a message using training data. Thetraining data can include a training set of messages, which areanalyzed, e.g., words parsed from the messages associated withsentiment. The training set can include input from human judgesidentifying a message's sentiment. The trained predictor, or model, canbe a probabilistic model, e.g., Bayesian network, which receives input,e.g., words extracted from a message, and provides a sentimentprediction. Based on the predicted sentiment of a message, it ispossible to check the correlation of the sentiment with the actualmarket price of the financial market instrument referenced in themessage.

In accordance with one or more embodiments, output of the sentimentanalyzer can be used in combination with the percentage change todetermine whether a financial market instrument reference is trendingup, down, or is neutral. By way of one non-limiting example, for the top“n” selected financial market instrument references determined to betrending upward, each of the references can have an associatedpercentage increase and “bullish” prediction value. For each reference,the sentiment prediction value can be determined based by the sentimentanalyzer using the messages occurring during the time span andcontaining the reference. The references can be sorted based on eachreference's percentage increase and sentiment prediction, with the top“n” references being selected using both the percentage increase and thesentiment prediction for each reference. In accordance with one or moreembodiments, the percentage increase and sentiment prediction can be acombined value, e.g., the sentiment prediction can be applied as aweight to the percentage increase. In accordance with one or more suchembodiments, and by way of one non-limiting example, the sentimentprediction can have a value on a scale between “1” and “−1”, with a“bullish” sentiment equal to “1”, a neutral sentiment equal to “0” and a“bearish” sentiment equal to “−1”.

In accordance with one or more embodiments, the percentage increase,alone or in combination with the sentiment prediction, can be determinedfor a market index as a financial market instrument using occurrences inmessages of a reference associated with the financial market indexand/or references associated with financial market instruments includedin the market index. The percentage increase, alone or in combinationwith the sentiment prediction, can be used to determine a price of theindex and/or a trend associated with the market index.

Embodiments of the present disclosure can be applied to different typesof messages or data to bubble up the acceleration of the incoming datafrom data providers 202. By way of one non-limiting example, thefunctionality described herein can be used to select web hyperlinks,e.g., a hyperlink to a web page containing information and/or contentassociated with a financial market instrument and/or financial marketentity, instead of or in addition to identifying financial marketinstrument references. By way of a further non-limiting example,received messages can be examined to identifying web hyperlinkscontained in the messages, and web hyperlinks that are the mostreferenced, e.g., as identified using a percentage change value, in theanalyzed messages can be identified and presented to users. While thehyperlink can be a link to a web page containing financial marketinformation, it should be apparent that the hyperlink can be a link toother content.

FIG. 5 illustrates some components that can be used in connection withone or more embodiments of the present disclosure. In accordance withone or more embodiments of the present disclosure, one or more computingdevices, e.g., one or more servers 210, user devices 212 or othercomputing device, 502 are configured to comprise functionality describedherein. For example, a computing device 502 can be configured asreceiver 204, analyzer 208 and/or server 210, which operates asdiscussed herein in accordance with one or more embodiments of thepresent disclosure. The same or another computing device 502 can beassociated with one or more of data store 508, which can correspond withdata store 204, for example. It should be apparent that one or more ofthe receiver 204, analyzer 208 and/or server 210 can be the samecomputing device 502, or can be a different computing device 502.

Computing device 502 can serve content, e.g., GUI 102, to user computingdevices 504 using a browser application via a network 506. Data store508, which can correspond to data store 204, can be used to store datafrom data provider(s) 202, data generated analyzer 208 and/or receiver204 executing functionality such as that shown in FIG. 3, etc., as wellas program code to configure a server 502 to execute the receiver 204,analyzer 208 and/or server 210.

The user computer 504 can be any computing device, including withoutlimitation a personal computer, personal digital assistant (PDA),wireless device, cell phone, internet appliance, media player, hometheater system, and media center, or the like. For the purposes of thisdisclosure a computing device includes a processor and memory forstoring and executing program code, data and software, and may beprovided with an operating system that allows the execution of softwareapplications in order to manipulate data. A computing device such asserver 502 and the user computer 504 can include one or more processors,memory, a removable media reader, network interface, display andinterface, and one or more input devices, e.g., keyboard, keypad, mouse,etc. and input device interface, for example. One skilled in the artwill recognize that server 502 and user computer 504 may be configuredin many different ways and implemented using many different combinationsof hardware, software, or firmware.

In accordance with one or more embodiments, a computing device 502 canmake a user interface available to a user computer 504 via the network1206. The user interface made available to the user computer 504 caninclude content items, hyperlinks and/or identifiers (e.g., URLs) inaccordance with one or more embodiments of the present invention. Inaccordance with one or more embodiments, computing device 502 makes auser interface available to a user computer 504 by communicating adefinition of the user interface to the user computer 504 via thenetwork 506. The user interface definition can be specified using any ofa number of languages, including without limitation a markup languagesuch as Hypertext Markup Language, scripts, applets and the like. Theuser interface definition can be processed by an application executingon the user computer 504, such as a browser application, to output theuser interface on a display coupled, e.g., a display directly orindirectly connected, to the user computer 504.

In an embodiment the network 506 may be the Internet, an intranet (aprivate version of the Internet), or any other type of network. Anintranet is a computer network allowing data transfer between computingdevices on the network. Such a network may comprise personal computers,mainframes, servers, network-enabled hard drives, and any othercomputing device capable of connecting to other computing devices via anintranet. An intranet uses the same Internet protocol suit as theInternet. Two of the most important elements in the suit are thetransmission control protocol (TCP) and the Internet protocol (IP).

It should be apparent that embodiments of the present disclosure can beimplemented in a client-server environment such as that shown in FIG. 5.Alternatively, embodiments of the present disclosure can be implementedother environments, e.g., a peer-to-peer environment as one non-limitingexample.

FIG. 6 is a detailed block diagram illustrating an internal architectureof a computing device, e.g., a computing device such as server 602 oruser computer 604, in accordance with one or more embodiments of thepresent disclosure. As shown in FIG. 6, internal architecture 600includes one or more processing units, processors, or processing cores,(also referred to herein as CPUs) 612, which interface with at least onecomputer bus 602. Also interfacing with computer bus 602 arecomputer-readable medium, or media, 606, network interface 614, memory604, e.g., random access memory (RAM), run-time transient memory, readonly memory (ROM), etc., media disk drive interface 608 as an interfacefor a drive that can read and/or write to media including removablemedia such as floppy, CD-ROM, DVD, etc. media, display interface 610 asinterface for a monitor or other display device, keyboard interface 616as interface for a keyboard, pointing device interface 618 as aninterface for a mouse or other pointing device, and miscellaneous otherinterfaces not shown individually, such as parallel and serial portinterfaces, a universal serial bus (USB) interface, and the like.

Memory 604 interfaces with computer bus 602 so as to provide informationstored in memory 604 to CPU 612 during execution of software programssuch as an operating system, application programs, device drivers, andsoftware modules that comprise program code, and/or computer-executableprocess steps, incorporating functionality described herein, e.g., oneor more of process flows described herein. CPU 612 first loadscomputer-executable process steps from storage, e.g., memory 604,computer-readable storage medium/media 606, removable media drive,and/or other storage device. CPU 612 can then execute the stored processsteps in order to execute the loaded computer-executable process steps.Stored data, e.g., data stored by a storage device, can be accessed byCPU 612 during the execution of computer-executable process steps.

Persistent storage, e.g., medium/media 606, can be used to store anoperating system and one or more application programs. Persistentstorage can also be used to store device drivers, such as one or more ofa digital camera driver, monitor driver, printer driver, scanner driver,or other device drivers, web pages, content files, playlists and otherfiles. Persistent storage can further include program modules and datafiles used to implement one or more embodiments of the presentdisclosure, e.g., listing selection module(s), targeting informationcollection module(s), and listing notification module(s), thefunctionality and use of which in the implementation of the presentdisclosure are discussed in detail herein.

For the purposes of this disclosure a computer readable medium storescomputer data, which data can include computer program code that isexecutable by a computer, in machine readable form. By way of example,and not limitation, a computer readable medium may comprise computerreadable storage media, for tangible or fixed storage of data, orcommunication media for transient interpretation of code-containingsignals. Computer readable storage media, as used herein, refers tophysical or tangible storage (as opposed to signals) and includeswithout limitation volatile and non-volatile, removable andnon-removable media implemented in any method or technology for thetangible storage of information such as computer-readable instructions,data structures, program modules or other data. Computer readablestorage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM,flash memory or other solid state memory technology, CD-ROM, DVD, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other physical ormaterial medium which can be used to tangibly store the desiredinformation or data or instructions and which can be accessed by acomputer or processor.

Those skilled in the art will recognize that the methods and systems ofthe present disclosure may be implemented in many manners and as suchare not to be limited by the foregoing exemplary embodiments andexamples. In other words, functional elements being performed by singleor multiple components, in various combinations of hardware and softwareor firmware, and individual functions, may be distributed among softwareapplications at either the client or server or both. In this regard, anynumber of the features of the different embodiments described herein maybe combined into single or multiple embodiments, and alternateembodiments having fewer than, or more than, all of the featuresdescribed herein are possible. Functionality may also be, in whole or inpart, distributed among multiple components, in manners now known or tobecome known. Thus, myriad software/hardware/firmware combinations arepossible in achieving the functions, features, interfaces andpreferences described herein. Moreover, the scope of the presentdisclosure covers conventionally known manners for carrying out thedescribed features and functions and interfaces, as well as thosevariations and modifications that may be made to the hardware orsoftware or firmware components described herein as would be understoodby those skilled in the art now and hereafter.

While the system and method have been described in terms of one or moreembodiments, it is to be understood that the disclosure need not belimited to the disclosed embodiments. It is intended to cover variousmodifications and similar arrangements included within the spirit andscope of the claims, the scope of which should be accorded the broadestinterpretation so as to encompass all such modifications and similarstructures. The present disclosure includes any and all embodiments ofthe following claims.

1. A method comprising: (a) determining, via at least one computingdevice and for a financial market instrument, a number of messages of aplurality of messages occurring during a time span and containing areference to the financial market instrument, the plurality of messagesincluding messages from at least one social networking service; (b)determining, via the at least one computing device and for the financialmarket instrument, a time span average, the time span average being aratio of the determined number of messages occurring during the timespan and containing the financial market instrument reference over anumber of time intervals into which the time span is divided; (c)determining, via the at least one computing device and for the financialmarket instrument, a message count for a selected time interval of thetime intervals, the selected time interval's message count indicating anumber of the messages from the plurality of messages occurring duringthe selected time interval and containing the reference to the financialmarket instrument; (d) determining, via the at least one computingdevice and for the financial market instrument, a percentage changeusing the selected time interval's message count and the time spanaverage; (e) comparing, via the at least one computing device, aplurality of percentage changes corresponding to a plurality offinancial market instruments including the financial market instrument,the comparing selecting a set of financial market instruments, each ofthe selected financial market instruments having a greater percentagechange than unselected ones of the plurality of financial marketinstruments; and (f) causing, via the at least one computing device, thefinancial market instrument reference of each of the selected financialmarket instruments to be available for presentation to one or moreusers. 2-21. (canceled)